package com.example.login

import android.content.Intent
import android.database.Cursor
import android.database.sqlite.SQLiteDatabase
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.widget.Button
import android.widget.EditText
import android.widget.Toast
import com.example.R
import com.example.main.MainActivity

class RegisterActivity : AppCompatActivity() {

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_register)

        // 创建 DBHelper 类的实例，用于管理名为 "test.db" 的 SQLite 数据库
        val dbHelper = DBHelper(this, "test.db", null, 1)

        // 获取数据库的可写实例
        val db: SQLiteDatabase = dbHelper.getWritableDatabase()

        // 获取用户名和密码输入框的引用
        val unametxt: EditText = findViewById(R.id.username)
        val pswtxt: EditText = findViewById(R.id.password)

        // 处理注册按钮的点击事件
        val btn: Button = findViewById(R.id.btn)
        btn.setOnClickListener {
            // 获取用户名和密码输入框中的文本
            val uname: String = unametxt.text.toString()
            val psw: String = pswtxt.text.toString()

            // 执行 SQL 查询，以检查输入的用户名是否已存在
            val cursor: Cursor = db.query("userInfo", arrayOf("uname"), "uname=?", arrayOf(uname), null, null, null)

            // 检查查询结果是否为空
            if (cursor.moveToFirst()) {
                // 如果结果不为空，则表示用户名已存在，并且显示 "用户名已存在" 的 Toast 消息
                Toast.makeText(this, "用户名已存在", Toast.LENGTH_SHORT).show()
            } else {
                // 如果结果为空，则表示用户名不存在，并且执行 SQL 插入语句，将用户名和密码插入数据库
                val SQLstr = "insert into userInfo(uname,psw) values(?,?)"
                db.execSQL(SQLstr, arrayOf(uname, psw))

                // 显示 "注册成功" 的 Toast 消息
                Toast.makeText(this, "注册成功", Toast.LENGTH_SHORT).show()

                // 创建到 MainActivity 类的意图并启动该活动
                val intent = Intent(this, MainActivity::class.java)
                startActivity(intent)
            }
        }
    }
}